package model

type MenuRouter struct {
	Id        int    `column:"id" json:"id"`
	Pid       int    `column:"pid" json:"pid"`             // 父节点
	Title     string `column:"title" json:"title"`         //标题
	Icon      string `column:"icon" json:"icon"`           // 图标组件
	Name      string `column:"name" json:"name"`           // 路由名称
	Component string `column:"component" json:"component"` // 路由组件
	Path      string `column:"path" json:"path"`           // 路由路径
	Remark    string `column:"remark"json:"remark"`
	Status    bool   `column:"status"json:"status"` //状态
	ToolId    int    `column:"tool_id"json:"toolId"`
}

func (receiver *MenuRouter) GetId() int {
	return receiver.Id
}

func (receiver *MenuRouter) GetPid() int {
	return receiver.Pid
}

func (receiver *MenuRouter) GetName() string {
	return receiver.Name
}

type Auth struct {
	Id     int `column:"id"json:"id"`
	RoleId int `column:"role_id"json:"role_id"` // 角色id
	AuthId int `column:"auth_id"json:"auth_id"` // 授权id
}

// FuncRouter 功能路由
type FuncRouter struct {
	Id     int    `column:"id" json:"id"`
	Method string `column:"method" json:"method"` // 接口类型
	Name   string `column:"name" json:"name"`     // 功能名称
	Path   string `column:"path" json:"path"`     // 功能路径
	Status bool   `column:"status" json:"status"` // 状态
}

type RoleUserMenuAuth struct {
	Id     int64 `column:"id" json:"id"`
	OrgId  int   `column:"org_id" json:"orgId"`
	UserId int   `column:"user_id" json:"userId"`
	RoleId int   `column:"role_id" json:"roleId"`
	MenuId int   `column:"menu_id" json:"menuId"`
}

type RoleUserFuncAuth struct {
	Id     int64 `column:"id" json:"id"`
	OrgId  int   `column:"org_id" json:"orgId"`
	UserId int   `column:"user_id" json:"userId"`
	RoleId int   `column:"role_id" json:"roleId"`
	FuncId int   `column:"func_id" json:"funcId"`
}

type Tool struct {
	Id        int    `column:"id" json:"id"`
	Name      string `column:"name" json:"name"` // 工具名称 一般是路由路径,并且不能重复
	Icon      string `column:"icon" json:"icon"` // 图标
	IsOpen    string `column:"isOpen" json:"isOpen"`
	Component string `column:"component" json:"component"` // 工具对应窗口组件
	BasePath  string `column:"basePath" json:"basePath"`   // 工具基础路径 一般是index
	Path      string `column:"path" json:"path"`           // 工具路径 /{basePath}/{name}
	Tip       string `column:"tip" json:"tip"`             // 提示语,一般填写工具名称
	Position  int    `column:"position" json:"position"`   // 工具按钮位置信息 1:左侧 2:右侧
}
type RoleUserToolAuth struct {
	Id     int64 `column:"id" json:"id"`
	OrgId  int   `column:"org_id" json:"orgId"`
	UserId int   `column:"user_id" json:"userId"`
	RoleId int   `column:"role_id" json:"roleId"`
	ToolId int   `column:"tool_id" json:"toolId"`
}
